The AVR Microcontroller and C Compiler Co-Design

نویسنده

  • Gaute Myklebust
چکیده

High Level Languages (HLLs) are rapidly becoming the standard methodology for embedded microcontrollers due to improved time-to-market and simplified maintenance support. In order to ensure that the new ATMEL AVR family of microcontrollers was well suited as a target for C compiler, the external C compiler development was started before the AVR architecture and instruction set were completed. During the initial development of the C compiler, several potential improvements in the AVR were identified and implemented. The result of this cooperation between the compiler developer and the AVR development team is a microcontroller for which highly efficient, high performance code is generated. This paper describes the AVR architecture, and the changes that were undertaken in the architecture and instruction set during the compiler development phase in order to make the AVR family of microcontrollers very suitable targets for a C compiler. The AVR Microcontroller The AVR enhanced RISC microcontrollers [1] are based on a new RISC architecture that has been developed to take advantage of semiconductor integration and software capabilities of the 1990's. A block diagram of the AVR architecture is given in figure 1. The memory sizes and peripherals indicated in the figure are for the AT90S8414 microcontroller. Central in the AVR architecture is the fast-access RISC register file, which consists of 32 x 8-bit general purpose working registers. Within one single clock cycle, AVR can feed two arbitrary registers from the register file to the ALU, do a requested operation, and write back the result to an arbitrary register. The ALU supports arithmetic and logic functions between registers or between a register and a constant. Single register operations are also executed in the ALU. As can be seen from the figure, AVR uses a Harvard architecture, where the program memory space is separated from the data memory space. Program memory is accessed with a single level pipelining. While one instruction is being executed, the next instruction is being pre-fetched from the program memory. Due to the true single cycle execution of arithmetic and logic operations, the AVR microcontrollers achieve performance approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed. Figure 1: The AVR Architecture (AT90S8414) The Architecture allows for up to 8M Bytes program memory, and 16MBytes of Data memory, and covers a wide range of applications.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AVR Microcontroller Implementation for Customized Sound Generation

Received Nov 1, 2011 Revised Jan 18, 2012 Accepted Jan 28, 2012 In this paper, we have proposed a technique by which customized sound can be generated using 8 bit AVR microcontroller. Any sound file chosen from computer can be integrated in microcontroller programming which is written in C and compiled by AVR libc compiler. An 8 bit DAC connected to PORT A of AVR microcontroller takes data of s...

متن کامل

Design and Implementation of a Microcontroller Based LCD Screen Digital Stop Watch

The stop watch is used to measure the time required for a certain event. This is different from normal clocks in many ways, one of which is the accuracy of time. The stop watch requires much more accuracy than the normal clocks. In this paper, an ATmega8535 microcontroller was used to control the stop watch, by which perfect accuracy can be ensured. For compiling the C code and for loading the ...

متن کامل

HW/SW co-design of a hyperelliptic curve cryptosystem using a microcode instruction set coprocessor

Hardware/software co-design of computationally intensive cryptosystems is the preferred solution to achieve the required speed for resource-limited embedded applications. This paper presents a microcode instruction set coprocessor which is designed to work with 8bit microcontrollers to implement a hyperelliptic curve cryptosystem. The microcode coprocessor is capable of performing a range of Ga...

متن کامل

Design and Development of MPPT based Converter for Efficient Solar Power Conversion

The design of a Maximum Power Tracking (MPPT) controller for a solar photovoltaic system is proposed utilizing a buckconverter topology. Solar panel voltage and current are continuously monitored by a closed-loop microcontroller based control system, and the duty cycle of the buck converter will be continuously adjusted to extract the maximum power. MATLAB Simulation will be used for the initia...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997